home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
mint
/
utils
/
lack.zoo
/
vaproto.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-04-24
|
7KB
|
213 lines
/*
* vaproto.h
*
* project: venus
*
* author: stefan eissing
*
* description: definition of the Venus <-> accessory protcol
*
* last change: 28.09.1990
*/
#ifndef __vaproto__
#define __vaproto__
/* message numbers for the XACC protocol by Konrad Hinsen
* Gemini supports XACC level 0. These are not needed for
* the Venus-Acc. protocol.
*/
#define ACC_ID 0x400
#define ACC_OPEN 0x401
#define ACC_CLOSE 0x402
#define ACC_ACC 0x403
/* message number for communication between Venus and accessories.
* if file or pathnames are used in these messages you got to
* give absolute names (including drive letter), all letters need
* to be upper case. Pathnames always terminate with a backslash!
*
* messages from Venus start with VA
* message to Venus start with AV
*
* AV_PROTOKOLL can be used by accessories to ask which messages
* are supported by the main application (there are differences
* between Gemini and Venus). It would be fine if other GEM
* application would also support this protocol. At least,
* AV_SENDKEY is easy to implement and very useful!
*/
/* AV_PROTOKOLL: message to ask which messages are supported.
* If you get no answer, the protocol isn't supported at all.
*/
#define AV_PROTOKOLL 0x4700
/*
* Word 6+7: pointer to the name of the accessory. This name
* has to be 8 chars long and nullterminated (like
* it is neccessary for appl_find())
* The meaning of the bits in the words 3, 4 and 5 is:
* Word 3:
* Bit 0: (VA_SETSTATUS)
* Bit 1: (VA_START)
* All other bits are reserved for future extension and should
* therefore be set to zero. This is also neede for the bits
* in word 4 and 5.
*/
/* VA_PROTOSTATUS: answer to AV_PROTKOLL. Words 3 to 7 contain
* information which features are supported. If a feature is
* supported the according bit is set to 1.
*/
#define VA_PROTOSTATUS 0x4701
/*
* Word 6+7: pointer to the name of the application (8 chars long,
* nullterminated, like appl_find() needs it.
* The meaning of the bits in the words 3, 4 and 5 is:
* Word 3:
* Bit 0 (AV_SENDKEY)
* Bit 1 (AV_ASKFILEFONT)
* Bit 2 (AV_ASKCONFONT, AV_OPENCONSOLE)
* Bit 3 (AV_ASKOBJECT)
* Bit 4 (AV_OPENWIND)
* Bit 5 (AV_STARTPROG)
* Bit 6 (AV_ACCWINDOPEN, AV_ACCWINDCLOSED)
* Bit 7 (AV_STATUS, AV_GETSTATUS)
* All other bits are reserved for future extension and should
* therefore be set to zero. This is also neede for the bits
* in word 4 and 5.
*
* AV_SENDKEY is very easy to support. Still interested? Read on.
*/
/* AV_GETSTATUS: An accessory may ask for the status which it has
* given the application via AV_STATUS.
*/
#define AV_GETSTATUS 0x4703
/* AV_STATUS: An accessory can tell the main application its status.
* This status can be saved by the main application and restored
* if the program is started again. An accessory may then ask with
* AV_GETSTATUS for its status. Of course it has to knock with
* AV_PROTOKOLL first!
* Word 3+4: pointer to a string which contains no control
* sequences and must not be longer than 256 chars.
* This pointer may be NULL (0L).
*/
#define AV_STATUS 0x4704
/* VA_SETSTATUS: The main application tells the accessory its
* saved state which was requested by AV_GETSTATUS.
* Word 3+4: pointer to a string which contains no control
* sequences and must not be longer than 256 chars.
* This pointer may be NULL (0L).
*/
#define VA_SETSTATUS 0x4705
/* AV_SENDKEY: An accessory send a keyboard event to the main
* application. If an accessory doesn't use a certain key it
* sould inform the main application about it. (menu shortcuts
* can be active when an accessory window it on top)
* Word 3 = keyboard state (Shift, Alternate) ev_mmokstate
* Word 4 = scan- and ascii-code ev_mkreturn
*/
#define AV_SENDKEY 0x4710
/* VA_START: Accessory will be activated (should be treated like
* AC_OPEN). Word 3+4 contains an pointer to a commandline and
* may be NULL. The commandline usually contains file and pathnames.
*/
#define VA_START 0x4711
/* AV_ASKFILEFONT: Asks for the font used in file windows.
*/
#define AV_ASKFILEFONT 0x4712
/* VA_FILEFONT: Returns the font used in file windows.
* Word 3 = font number (font id)
* Word 4 = font size (in points)
*/
#define VA_FILEFONT 0x4713
/* AV_ASKCONFONT: Asks for the font used in the console window.
*/
#define AV_ASKCONFONT 0x4714
/* VA_CONFONT: Returns the font used in the console window.
* Word 3 = font number (font id)
* Word 4 = font size (in points)
*/
#define VA_CONFONT 0x4715
/* AV_ASKOBJECT: Asks for the names of the selected objects. If
* no object is selected, the empty string is returned. If more
* than one obects is selected, the names are separated by spaces.
*/
#define AV_ASKOBJECT 0x4716
/* VA_OBJECT: Returns the name of the selected objects. Words 3+4
* contain a pointer to the string.
*/
#define VA_OBJECT 0x4717
/* AV_OPENCONSOLE: Gemini should open the console window.
* If it is already open, it is made the top window.
* Should only be used if transparent to the user!
*/
#define AV_OPENCONSOLE 0x4718
/* VA_CONSOLEOPEN: Returns if the console window could be opended.
* Word 3 == 0 (no) != 0 (yes)
*/
#define VA_CONSOLEOPEN 0x4719
/* AV_OPENWIND: The application should open a window. The path for
* the window and a wildcard is given. Instead of opening a window
* a program can also open the file selector with the given path
* and wildcard.
* Word 3+4 (Pointer) window path
* Word 5+6 (Pointer) wildcard used to display files
*/
#define AV_OPENWIND 0x4720
/* VA_WINDOPEN: Returns if the window could be opened.
* values as in VA_CONSOLEOPEN
*/
#define VA_WINDOPEN 0x4721
/* AV_STARTPROG: The main application should start a program.
* Gemini/Venus also takes installed applications into accout.
* So you can open any file with this message, Gemini will start
* the proper application.
* Word 3+4 (Pointer) filename (absolute path)
* Word 5+6 (Pointer) commandline (maybe NULL)
*/
#define AV_STARTPROG 0x4722
/* VA_PROGSTART: Returns if the program could be started.
* Word 3 == 0: no, != 0 yes
*/
#define VA_PROGSTART 0x4723
/* AV_ACCWINDOPEN: An accessory informs the application that it
* has opened a window.
* Word 3: AES-handle of the opened window.
*/
#define AV_ACCWINDOPEN 0x4724
/* VA_DRAGACCWIND: The application reports that someone has dragged
* an object into the accessory window. Works only if the
* application knows via AV_ACCWINDOPEN about this window
* Word 3 AES-handle of the window
* Word 4 X-position of mouse cursor
* Word 5 Y-position of mouse cursor
* Word 6+7 pointer to a string containing the names of the objects.
*/
#define VA_DRAGACCWIND 0x4725
/* AV_ACCWINDCLOSED: The accessory reports that it has closed a
* window.
* Word 3 AES-handle of the window
*/
#define AV_ACCWINDCLOSED 0x4726
#endif